<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <input type="text" />
  </body>
  <script>
    // let inp = document.querySelector("input");
    // inp.oninput = debounce(function () {
    //   console.log(this.value);
    // }, 500);

    // function debounce(fn, delay) {//封装后的防抖
    //   let timer = null;
    //   return function () {
    //     if (timer !== null) {
    //       clearTimeout(timer);
    //     }
    //     timer = setTimeout(() => {
    //         fn.call(this)
    //         console.log(this);//用call去改变this指向
    //     }, delay);
    //   };
    // }
    //节流
    // window.onresize = throttle(function(){
    //     console.log('hello world');

    // },1000)
    // // function throttle(fn,delay){
    // //     let flag = true;//定义一个变量
    // //    return function(){
    // //     if(flag){ //当变量为true
    // //         setTimeout(()=>{
    // //             fn.call(this)
    // //             flag = true
    // //         },300)
    // //         flag = false//执行这个 只触发最后一次
    // //     }
    // //    }
    // // }
    // function throttle(fn,delay){
    //     let flag = false
    //     return function(){
    //         if(!flag){
    //             fn.call(this);
    //             flag = true
    //             setTimeout(()=>{
    //             flag = false
    //             },2000)
    //         }
    //     }
    // }
    let arr = [
      { id: 0, name: "柯莱特大学", parent_id: -1 },
      { id: 1, name: "教育部", parent_id: 0 },
      { id: 2, name: "技术部", parent_id: 0 },
      { id: 3, name: "销售部", parent_id: 0 },
      { id: 4, name: "交付部", parent_id: 0 },
      { id: 5, name: "金山云交付部", parent_id: 4 },
      { id: 6, name: "解决方案部门", parent_id: 4 },
      { id: 7, name: "后端组", parent_id: 6 },
      { id: 8, name: "前端组", parent_id: 6 },
      { id: 9, name: "测试组2", parent_id: 6 },
    ];
    // 把这个数组变成树状结构展示出来，parent_id:-1表示根节点
    function toTree(list,parId){
    let len = list.length
    let res = []
    function loop(parId){
    for(let i=0;i<len;i++){
        let item = list[i];
        if(item.parent_id===parId){
          item.children = loop(item.id)
          res.push(item)
          console.log(res);
        }
    }
  }
}
let result = toTree(arr,-1)
  </script>
</html>
